package com.javasee.rain.stock.mapper;

import com.javasee.rain.stock.model.BlockMovement;
import com.javasee.rain.stock.model.BlockMovementDetail;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 板块异动数据Mapper接口
 * 
 * @author : xinyanfei
 * @date : 2025/10/11
 * Copyright (c) 2025, 京东商城 All Rights Reserved.
 */
@Mapper
public interface BlockMovementMapper {

    /**
     * 查询所有板块异动统计信息
     * 
     * @return 板块异动统计列表
     */
    List<BlockMovement> selectAllBlockMovements();

    /**
     * 根据板块名称查询板块异动统计信息
     * 
     * @param blockName 板块名称
     * @return 板块异动统计信息
     */
    BlockMovement selectBlockMovementByName(@Param("blockName") String blockName);

    /**
     * 根据板块名称和股票代码查询该股票的异动信息
     * 
     * @param blockName 板块名称
     * @param stockCode 股票代码
     * @return 异动信息列表
     */
    List<BlockMovementDetail> selectStockMovementByBlockAndCode(
            @Param("blockName") String blockName, 
            @Param("stockCode") String stockCode);

    /**
     * 根据板块名称和日期查询该板块在该日期的异动股票列表
     * 
     * @param blockName 板块名称
     * @param date 日期
     * @return 异动股票列表
     */
    List<BlockMovementDetail> selectStockListByBlockAndDate(
            @Param("blockName") String blockName, 
            @Param("date") String date);

    /**
     * 根据关键字搜索板块异动统计信息
     * 
     * @param keyword 关键字
     * @return 板块异动统计列表
     */
    List<BlockMovement> selectBlockMovementsByKeyword(@Param("keyword") String keyword);
}